SCALA_SRC :=
SCALA_SRC += ch/epfl/lara/pm/Transform.scala
SCALA_SRC += ch/epfl/lara/pm/parser/NScalaParser.scala
SCALA_SRC += ch/epfl/lara/pm/parser/PrettyPrinter.scala
SCALA_SRC += ch/epfl/lara/pm/parser/TestParser.scala
SCALA_SRC += ch/epfl/lara/pm/ast/Syntax.scala
SCALA_SRC += ch/epfl/lara/pm/ast/Formula.scala
SCALA_SRC += ch/epfl/lara/pm/ast/PatternName.scala
SCALA_SRC += ch/epfl/lara/pm/ast/Warnings.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/Util.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/Verify.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/InferSetConstraints.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/TestVerification.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/FormulaBuilder.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/Proposition.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/set/IMatch.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/set/IPatternsAsSets.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/set/PatternConverter.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/set/PatternMap.scala
SCALA_SRC += ch/epfl/lara/pm/analyze/set/RefineIPatterns.scala
SCALA_SRC += ch/epfl/lara/pm/formdecider/FormDeciderWrapper.scala
SCALA_SRC += ch/epfl/lara/pm/formdecider/FormulaDecider.scala
SCALA_SRC += ch/epfl/lara/pm/formdecider/FormDeciderFormulaStringer.scala
SCALA_SRC += ch/epfl/lara/pm/global/ObjectTable.scala
SCALA_SRC += ch/epfl/lara/pm/global/ClassTable.scala
SCALA_SRC += ch/epfl/lara/pm/util/MyImplicitConversions.scala
SCALA_SRC += ch/epfl/lara/pm/util/Substitution.scala
SCALA_SRC += ch/epfl/lara/pm/util/Tester.scala
SCALA_SRC += ch/epfl/lara/pm/transformation/NameAnalyzer.scala
SCALA_SRC += ch/epfl/lara/pm/transformation/MatchAnalyzer.scala
SCALA_SRC += ch/epfl/lara/pm/transformation/Desugarizer.scala





SCALAC := scalac
RM := rm -rf
MKDIR := mkdir

CLASSES_DIR := classes

all: pm
new: clean pm
clean:
	$(RM) $(CLASSES_DIR)

pm: $(SCALA_SRC)
	$(MKDIR) -p classes
	$(SCALAC) -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -unchecked $?
